G_TYPE_NONE, 1, G_TYPE_STRING);
}
-/**
- * st_texture_cache_clear_uri:
- * @cache: A #StTextureCache
- * @uri: URI of cached object
- *
- * If the given @uri is known to have been modified
- * externally, this function may be used to invalidate
- * the in-memory cache.
- */
-void
-st_texture_cache_clear_uri (StTextureCache *cache,
- const char *uri)
-{
- char *key;
-
- g_return_if_fail (ST_IS_TEXTURE_CACHE (cache));
- g_return_if_fail (uri != NULL);
-
- key = g_strconcat (CACHE_PREFIX_URI, uri, NULL);
- g_hash_table_remove (cache->priv->keyed_cache, key);
- g_free (key);
-
- key = g_strconcat (CACHE_PREFIX_URI_FOR_CAIRO, uri, NULL);
- g_hash_table_remove (cache->priv->keyed_cache, key);
- g_free (key);
-}
-
/* Evicts all cached textures for named icons */
static void
st_texture_cache_evict_icons (StTextureCache *cache)
StTextureCache* st_texture_cache_get_default (void);
-void st_texture_cache_clear_uri (StTextureCache *cache,
- const gchar *uri);
-
ClutterActor *
st_texture_cache_load_sliced_image (StTextureCache *cache,
const gchar *path,
{
return ST_WIDGET_GET_CLASS (widget)->get_focus_chain (widget);
}
-
-/**
- * st_widget_clear_background_image:
- * @widget: An #StWidget
- *
- * Force a reload of the background-image property. Usually properties
- * are cached heavily to avoid unnecessary work on paint, this method
- * will force the cache to be recreated.
- */
-void
-st_widget_clear_background_image (StWidget *actor)
-{
- GFile *file;
- const char *path;
- char *uri;
-
- if (actor->priv->theme_node == NULL)
- return;
-
- path = st_theme_node_get_background_image (actor->priv->theme_node);
- if (path == NULL)
- return;
-
- file = g_file_new_for_path (path);
- uri = g_file_get_uri (file);
-
- st_texture_cache_clear_uri (st_texture_cache_get_default (), uri);
- st_theme_node_invalidate_paint_state (actor->priv->theme_node);
-
- if (CLUTTER_ACTOR_IS_MAPPED (CLUTTER_ACTOR (actor)))
- clutter_actor_queue_redraw (CLUTTER_ACTOR (actor));
-
- g_object_unref (file);
- g_free (uri);
-}
void st_widget_set_label_actor (StWidget *widget,
ClutterActor *label);
-void st_widget_clear_background_image (StWidget *widget);
-
/* Only to be used by sub-classes of StWidget */
void st_widget_style_changed (StWidget *widget);
StThemeNode * st_widget_get_theme_node (StWidget *widget);